﻿using System;
using System.Collections;
using System.Collections.Generic;

namespace Poly2Tri
{
	// Token: 0x02000412 RID: 1042
	public class Point2DEnumerator : IEnumerator<Point2D>, IEnumerator, IDisposable
	{
		// Token: 0x06001D53 RID: 7507 RVA: 0x000B4DDB File Offset: 0x000B2FDB
		public Point2DEnumerator(IList<Point2D> points)
		{
			this.mPoints = points;
		}

		// Token: 0x06001D54 RID: 7508 RVA: 0x000B4DF1 File Offset: 0x000B2FF1
		public bool MoveNext()
		{
			this.position++;
			return this.position < this.mPoints.Count;
		}

		// Token: 0x06001D55 RID: 7509 RVA: 0x000B4E14 File Offset: 0x000B3014
		public void Reset()
		{
			this.position = -1;
		}

		// Token: 0x06001D56 RID: 7510 RVA: 0x00002973 File Offset: 0x00000B73
		void IDisposable.Dispose()
		{
		}

		// Token: 0x1700042F RID: 1071
		// (get) Token: 0x06001D57 RID: 7511 RVA: 0x000B4E1D File Offset: 0x000B301D
		object IEnumerator.Current
		{
			get
			{
				return this.Current;
			}
		}

		// Token: 0x17000430 RID: 1072
		// (get) Token: 0x06001D58 RID: 7512 RVA: 0x000B4E25 File Offset: 0x000B3025
		public Point2D Current
		{
			get
			{
				if (this.position < 0 || this.position >= this.mPoints.Count)
				{
					return null;
				}
				return this.mPoints[this.position];
			}
		}

		// Token: 0x04001DC3 RID: 7619
		protected IList<Point2D> mPoints;

		// Token: 0x04001DC4 RID: 7620
		protected int position = -1;
	}
}
